﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using ERP.Source.Core;

namespace ERP.Source.Interface
{
    /// <summary>
    /// Interaction logic for LoginUI.xaml
    /// </summary>
    /// @Content :  Lop LoginUI la lop giao dien thuc hien chuc nang dang nhap danh cho nguoi su dung
    ///             Bien level dung de luu cap do cua nguoi su dung
    ///             Bien status dung de luu trang thai dang nhap thanh cong hay khong???
    ///             Bien user dung de luu thong tin nguoi dung
    public partial class LoginUI : Window
    {
        private short level;
        private bool status;
        private User user; 

        public short Level
        {
            set
            {
                level = value;
            }
            get
            {
                return level;
            }
        }

        public bool Status
        {
            set
            {
                status = value;
            }
            get
            {
                return status;
            }
        }

        public User User 
        {
            set
            {
                user = value;
            }
            get
            {
                return user;
            }
        }

        public LoginUI()
        {
            InitializeComponent();
            status = false;
        }

        private void cmdLogin_Click(object sender, RoutedEventArgs e)
        {
            //tao mot user moi
            user = new User();

            //kiem tra gia tri username va password da nhap dung chua
            checkValidate();

            //lay gia tri username va password tu man hinh dang nhap
            user.Username = txtUserName.Text;
            user.Password = txtPassword.Password;

            //goi ham thuc hien dang nhap trong lop User
            lblStatus.Content = "Đang thực hiện đăng nhập.";
            if (user.Login() == true)
            {
                //dang nhap thanh cong
                //moi thong tin duoc luu tai bien user
                //cap nhat gia tri vao bien userDetail
                user.SetUserDetail();

                //hien thi thong bao dang nhap thanh cong
                status = true;
                lblStatus.Content = "Đăng nhập thành công !";

                //thuc hien set quyen cho nguoi dung
                lblStatus.Content = "Đang thực hiện phân quyền người sử dụng.";
                level = user.SetLevel();

                //hoan thanh
                this.Close();
            }
            else
            {
                //dang nhap that bai
                //hien thi thong bao dang nhap that bai
                status = false;
                lblStatus.Content = "Đăng nhập thất bại ! Vui lòng kiểm tra lại username và password";
            }
        }

        public void checkValidate()
        {
            //thuc hien kiem tra nhap password va user dung chua
            //hien thi thong tin tren Status
        }

        private void Window_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                cmdLogin_Click(sender, e);
            }
        }
    }
}
